Circuitry for performing square root



May 26,1959 E. WEISS CIRCUITRY FOR PERFORMING SQUAREROOT Filed July 1, m53

E. WEISS 2,888,200 CIRCUITRY FOR PERFORMING SQUARE RooT 7 Sheets-Sheet 2 ,mwx

wm uw @im w Nv.. Mv

May 26, v1959 Filed Jul3r l, 1,955

wlw mw W www@ QN NN NN MN.

-'7 Sheets-Sheet 3 E. WEISS B May 26, 1959 CIRCUITRY FOR PERFORMING SQUARE ROOT Filed July l, 1953 N .bvo s j b* .EN

May 26,- 1959 E. WEls 2,858,20

' OIRCUITRY FOR PERFORMING SQUARE ROOT Filed July l. 1953 7 Sheets-,Sheet 4v Y' May 23 1959 E. wr-:lss .K

' CIRCUITRY FOR PERFORMING SQUARE Roo'Ar 'l sheets-sheet e Filed Jul;l i, 195:5

fr@ las c. M Tc MTC 4 n en. F! ha M La@ r-.f i 'l/w1 a ,la rfa. e. WILT@ 0M. w1. F.. n.. a.. l In n May 25; 1959 E.\wE|ss CIRCUITRY FOR PERFORMINGv SQUARE ROOT l Filed July l, 1953 7 sheets-sheet 7 4of whether or not the addition is to be performed.

United States Patent Oiiice Patented May 26, 19,59

CIRCUITRY FOR PERFORMING SQUARE ROOT Eric Weiss, Los Angeles, Calif., assignor, by mesne assignments, to National Cash Register Company, a corporation of Maryland Application July 1, 1953, Serial No. 365,465

9 Claims. (Cl. 23S- 158) This invention relates to electronic digital computing machines and more particularly to novel circuitry for generating the square root of a binary number.

It has been customary in the past to automatically obtain the square rootof a number by especially coding or programming a general purpose type computer to perform this function. In certain applications, however, it is highly 'desirable to have a built-in instruction in the .machine for extracting the square root. Using this approach, the number whose square root is desired need be merely inserted into the computer. Then, at a given signal, generated either by the computer or manually by the operator, the circuitry for performing this instruction is initiated to automatically derive the square root of the number. This obviously simplifies the process since the operator need not initially program the computer to carry out the routine.

It is therefore one of the objects of this invention to provide novel built-in circuitry for automatically performing the square root operation.

Another object of this invention is the provision of a novel means and method of extracting the square root of a binary number.

Still another object of this invention is to provide a fast-acting, simple, cyclical step process for the generation-of the square root of a binary number.

Briefly the square root routine employed in the present invention is van adaptation of the well-known manual method of extracting the square root by the orderly subtracting of successive odd numbers from the number whose square root is desired in order to determine the digits of the root. This is performed on a desk calculator,

lfor example, by successively depressing the keys 1, 3, 5, 7,

etc. of the keyboard. 'This process is reformulated in vthe present invention for the binary number system and lconsists primarily of constantly altering and shifting the contents in a first register in which the square root is being set up, and adding or not adding the contents of ,being generated. The present embodiment employs the Vuse of a parallel operated accumulator. The decision as -to whether the addition should take place is made by observing the output state of the last stage of a logical carry network which takes its configuration irrespective If such a carry-out is not noted, the addition is performed,

vwhereas if a carry-out is noted, the addition is inhibited .from taking place. As a result of a repetition of these functions, the square root is obtained in the rst register .analogous to the method in which twice the value of the square root is formed on the keyboard of a desk calculator. A third register is provided during this computation. l

following description and claims and illustrated in the fl This invention will be made more' apparent by the accompanying drawings which disclose, by way of example, the principle of the invention and the best mode which has been contemplated of applying that principle. In the drawings: f i

Fig. 1 explains by way of examples the process by which the circuit of the present embodiment generates the square root of a binary number.

Fig. 2 is a simplified block diagram of the circuit of the present invention.

Fig. 3 yis a detailed circuit diagram of the F1 ip-op circuit. v

Fig. 4 is a graph of the voltage waveforms which are referred to in explaining the operation of the F1 ilipflop.

Fig. 5 shows the flip-flop circuits of the A register together with the logical trigger equations for their grids.

Fig. A6 shows the flip-op circuits of the B register together with the logical trigger equations for their grids.

Fig. 7 shows the network for generating the interstage carry information for the A register flip-nop circuits.

Fig. 8 shows the networks for generating the logical trigger equations for the A register flip-flop circuits. l

Fig. 9 shows the networks for generating the. logical trigger equations for the B register flip-dop circuits.

Fig. 10 shows the flip-flop circuits of the E register together with the logical trigger equations for their grids.

Fig. l1 shows the networks for generating the logical equations for the E register flip-flop circuits.

Fig. 12 shows the network for generating the add proposition SA.

Fig. 13 shows a schematic diagram of the initiating button together with associated flip-Hop circuits.

Fig. 14 shows a time diagram of the waveforms of certain terms of the system used for explaining the-generation of a problem on the computer.

Referring to Fig. l, the process for extracting the square root of a decimal number by subtracting successive odd numbers, as is well known in the prior art, is illustrated by Example I. To obtain the square root of number 169, vfor instance, the rst step is to subtract -the number 1 from the most significant digit of the number 169. The next odd number, 3, cannot be subtracted from the remainder and'he'nce the next even number, 2, instead is recorded and a digit 1 inserted in the next lower order position. This number 21 is then shifted one digital position to the right land subtracted from the remainder. 'The next odd number, 23, is then subtracted; and finally, the next odd number, 25, is subtracted, resulting in a remainder of zero. When utilizing `a desk calculator for performing this process, the number '25 is found on the keyboard. As noted, adding a one'to this last odd number 25, and then dividing by two, results in the answer 13.

The binary process utilized in the present invention for obtaining the square root is an adaptation' of-.the method above described. This is illustrated byjExample II, which shows how the binary equivalent of decimal 169 is operated upon to derive its square root. f* r The register containing the square root being generate is indicated as the B register, and the register containing the number to be operated upon is indicated asfthe Av (register. It should be appreciated that the use of binary numbers simplilies the present square root routine vto a case of either subtracting or not subtracting an oddl number in the B register from the contents of the'A register, followed by an alteration, and shifting Aof the odd number in theBregister.

In the present embodiment, the computer performs subtraction by adding the odd numbers to the onesco'rnplement of the number. Thus, as far as the yma'chinelis concerned, the first step of the machine proce'ssf-'is'to obtain the ls complement of the number in the A register and to set up the first odd number 01 in the B register. The next step of the process is to add this first odd binary number 01 to the complemented number in the A register if the addition can be performed without generatingy a carry-out from the most signicant stage, 27, of the A register. In this irst instance, since this addition can be performed, a unit is added to the rst odd number l in the B register, resulting in 01-i-1=10. A digit 1 is then inserted to the right, i.e., the next lower order of this number, resulting in 101. This number in the B register is then shifted one digital position to the right and an inspection is made to determine if it can be added to the now existing contents of the A register without 'generating a carry-out from the most significant stage of the A register. Since, for this case, no carry-out is again noted, the addition is performed; a digit 1 is added to the number content of the B register thus far obtained; and a l is inserted in the next lower order position, thus obtaining 1101. This number is then shifted one digital position to the right, and an inspection is again made to determine whether a carry-out will be generated by adding the contents of the B register to the contents in the A register. In this instance a carry-out will be generated, and so the addition is inhibited from taking place. For this condition, a 1 must be subtracted from the number in the B register and a l inserted in the next lower position. This results in obtaining the binary number 11001 which is shifted one binary position to the right. An inspection is again made to determine if a carry-out will result from the addition. It should be noted in this instance that the addition can take place with the result that the A register is iilled with ls, thus indicative that the remainder is actually zero. The number content of the B register at this time corresponds to the number left on the keyboard when using the desk calculator process for extracting roots. In this instance, since the previous addition could be carried out, a l is added to the contents of the B register and this number is then shifted one digital position to the right. As previously noted in Example 1, the number 25 on the keyboard has a 1 added to it and was then divided by 2 in order to obtain the square root. That is 'exactly the process to be performed on the binary number in the B register during the last cycle. As a result, the contents 1101 found in the iirst four flip-flops of the B register represents the number corresponding to the square root desired.

It should be appreciated from the example above described that the cyclical process for generating the square root may be reduced to the following mechanized pattern.

Initially, the number whose square root is to be extracted is complemented in the A register. Simultaneously, the binary digits 0 and 1 are introduced into the two most significant digit positions 27 and 26, respectively, of the B register. As noted in Example II (Fig. l), these conditions are there designated as initial conditions.

The first cycle of the computation is designated by the term El. This includes inspecting to determine if a carryout would be generated from the A register as the result of adding the contents of the B register into the A register. If a carry-out is not generated, the addition is performed. Simultaneously a l is inserted in the most significant stage, 27, of the B register and the digits 0, 1 inserted in the next two lower order stages 26 and 25, respectively. If a' carry-out from the A register would result from the addition, the addition is not carried out, and a 0 is inserted in the most significant stage 27 of the B register, and the digits 0, 1 inserted in the next two lower order f positions, 26 and 25, respectively.

4 performed. Furthermore, if the carry-out is not generated, a digit 1 is inserted in the 25 position of the B reg.- ister; otherwise a digit 0 is inserted therein. The digits 0 and l are inserted in either case in the next two lower order positions 24, 23 of the B register.

It can be seen that the following cycles of the computation, designated E3 and E4, consist of a similar shifting of the B register and an insertion of digits in certain predetermined digital positions.

The cyclical routine for generating each digit of the root thus broadly comprises the steps of shifting the contents of the B register one digital position to the right; adding or not adding the contents of the B register into the A register depending on whether a carry-out or no carry-out is obtained from the A register; inserting the digit 0 or l in predetermined even stages of the B register depending on whether a carry-out or no carry-out is obtained from the A register; and simultaneously inserting the digits 0 and 1 into the two following lower order stages, respectively, of the B register.

A simplified block diagram of the circuitm provided for performing the square root operation, as above described, is shown in Fig. 2. The binary accumulator 10 includes A register 11 and a logical network 12. The A register 11 is comprised of a series of iiip-flop circuits A1 to A8, inclusive, corresponding to binary stages 20 to 2", respectively. Logical network 12 serves two functions; iirst it sets up the interstage carry signals irrespective of whether the addition is to be performed or not; and secondly it determines the required changes to be made in the iiip-fiops A1 to A8 in order to perform the function of adding to its content the binary content found in B register 13 comprised of a similar group of ip-ops B1 to B8, inclusive. The contents of the B register 13 is controlled in turn by a logical network 14 which functions to set up therein the number to be added to the A register 11. This involves both inserting digits and shifting digits. An E register 16 which is being controlled by a logical network 17 functions to orderly select the circuits of the logical network 14 which are to be eiective to insert digits into predetermined positions of the B register 13 during the course of the computation.

A clock pulse source 19 continuously emits square waves C having a clock period P. The clock period P is dedned as the interval between the trailing edge of one clock pulse and the trailing edge of the succeeding clock pulse. These clock periods determine the time allocated to a binary digit which is manifested, for example, by the potential output from a flip-flop circuit. As will be noted in the ensuing description, all the circuit operations are synchronized with the clock periods in that all changes of the flip-iiop circuits occur at the end of the clock period.

In the present invention, each cycle of the computation requires two steps or clock periods. The active step of the cycle during any clock period is indicated by the effective state of a iiip-flop F1 functioning as a scale-oftwo counter 20.

The mode of operation of the dip-flop circuits of the present invention will be made clear by a detailed description of how the F1 ip-flop circuit shown in Fig. 3 is connected so as to operate as a scale-of-two counter.

The flip-flop circuit as used in the present invention is well known in that it is comprised of two triodes, V1 and V2, each of which has its plate intercoupled to the grid of the other by a resistor R in parallel with a capacitor C. The plate of each of the triodes is connected through a load resistor, like resistor R1, to a positive D.C. source +225 v., and the cathode of each triode is grounded. Each of the grids of the tubes is connected through a resistor, like grid resistor R2, to a negative bias 300 v. The dip-flop circuit is further provided with triggering circuits connected to each of its grids and output circuits connected to each of its plates.

Whenever, the F1 ip-op circuit is considered to be S in a "one" state, a neon light L, connected series a limiting resistor R across the left load resistor Ri, lights up; and when the ip-flop circuitvis in a zero state, neon light L is out.

The output lines F1 and F1 from the F1 flip-Hop circuit are taken from the right and left plates, respectively. In order to maintain the swing of the plate voltage between voltage levels 125 v. and 100 v., clamping diodes, such as diodes 22 and 23 associated with the right output F1, are provided on each output line.

The inputs to the ilip-op circuit are controlled by diode gate circuits 24 and 25 associated with the grids of the V1 and V2 tubes, respectively. Each of the gates is coupled to a grid through a diierentiating circuit 27 and a blocking diode 28 as shown in particular for the left grid, the grid of tube V1. l In order to operate as a scale-of-two counter, the right plate output F1 is connected to one input of the left gate 24, and the left plate output Fl is connected to one input of the right gate circuit 25. The clock pulse C is applied simultaneously to the second input of the left and right gate circuits 24 and 25 As will be noted hereinafter, these gate circuits 24 and 25 are typical logical and diode networks. In such a circuit, as noted in particular for left gate 24, the inputs therein are applied on the cathode-ends of crystal diodes 30 and 31 whose anode-ends are joined to a common line 32 which is connected to positive source +225 v. through a load resistor R3. Any time the input to the gate circuit, received from the opposite side of the iiip-op circuit 24, is high in potential, the clock pulse C applied to the other input of the gate is, in eiect, passed to the gate output. As noted at the output of gate 24, this pulse is 'differentiated in differentiating circuit 27 and the positive portion thereof is blocked by diode 28 while the negative portion is passed therethrough and thus triggers the V1 tube off.

Fig. 4 shows a graph of the waveforms appearing at dierent points of the Fl flip-flop circuit. In line I the regularly recurring clock pulses C are shown; in line Il the F1 plate output is shown to be initially of a high voltage 125 v.; while in line III the F1 plate output is shown to be initially of a low voltage 100 v. As shown in line IV, whenever both the waveforms F1 and C are relatively high in potential, the term f1 is considered 4to pass through the gating circuit 24 as a rectangular pulse similar in waveform to the clock pulse C. On line `V, the pulse form impressed on the input to the left grid is shown to be essentially the differentiated trailing edge 35 of the rectangular pulse nfl. It is thus noted that the 'Fl flip-flop changes state on the trailing edge of the @f1 pulse (clock pulse C). It is also noted that, as a result 'of the triggering of the left tube V1 off, the left plate output F1 rises in potential according to the time constant of the RC interconnecting network of the flipflop circuit. The output F'1 is now high in potential so that on occurrence of the next clock pulse C the right gate 25, '1n ciect, allows the clock pulse C to pass therethrough, and hence the differentiated trailing edge 36 of this latter pulse triggers the F 1 flip-iiop back to its original state. I

It is now evident that the clock pulse period divides the timing of the circuit operations into two distinct phases. During the first phase of a clock pulse period,

when the voltage from the clock source is low, the tran- 65 sients of the circuitry are occurring. For reliability, these should be completed before the leading edge of Ythe. clock pulse arrives. For the duration of the clock pulse, ie., the second phase of the clock pulse period, the logical networks can be thought of as observing the ip-iiop circuits so as to know if a pulse should pass onto the grid of any of the flip-flop circuits. The clock pulse 'must be broad enough so that, taking into account its rise time, it reaches its maximum voltage level before the endl of the clock period. The clock pulse must-"also be edge can be created on the trailing edge of the puls passing through the grid gates. These conditions make it possible to create by differentiation a negative pulse, coincident with the end of the clock period, which can be used for triggering the flip-op-circuits.

Beforegoing into a description of the details of the remaining circuits of the invention, it will be pointed out how the arrangement of the inputs and outputs of lthe' flip-flop circuits of the present invention enables the detailed logical circuitry for performing the present process to be delined\)by logical equations. A logical equation, as herein used, defines the validity of a proposition ipop in terms of the validity of other propositions. 'Ilhe true-and false conditions of a proposition iiip-flop are preferably referred to as terms which are represented throughout the circuits by a D.C. voltage at a point. This voltage can exist at either of two D.C. levels. IWhen a term is effective, the voltage is high, 125 v.; and when the term is inelective, the voltage is low, v. (see Fig. 4). Thus, as shown in Fig. 3, by connecting output lines, for example, to each of the plates of the tubes ofa flip,- rllop circuit, the output line having a high potential determines the effective term of the proposition represented by the ip-op circuit. The other output line, having necessarily a low potential, then represents the ineffective term. Furthermore, by providing an input line to the grid of each of the tubes of the flip-flop circuit, it is possible toindependently control the statesof the flip,- op circuits. y

'Ilhe inputs and outputs of the ilip-flop circuits of the present invention are defined in a systematic manner by useing the following standard nomenclature: lEach of the proposition Hips-flops is designated by combinations of capital letters and numbers, and the outputs of the liipops are characterized by corresponding capital letters with an appropriate subscript. In order to characterize the true state output of a flip-flop from the false, the llatter is distinguished from the former by an .affixed prime. On the other hand, the inputs to a iiip-op circuit which trigger it into a true or false state are designated by corresponding lower case letters with an ap-y propriate subscript. f The input for rendering the flip-flop false is further characterized by a subscript zero prexing the lower case letter. i

Referring next to Figs. 5 and 6, the simplified manner in which the remaining circuitry of the present invention is to be presented will new be described. Instead of showing the wiringdiagrams ofthe flip-flops together with the logical circuits, as in Fig. 3, the remaining rdrawings present simplified block diagrams of the flipdlop circuits.v It should be understood, however, that all the ip-op circuits are identical. Thus in Fig. 5 only the input and output lines for the flip-flop circuit are indicated and these are marked in accordance with the convention previously described. Furthermore, the grid inf put differentiatingand blocking circuits are omitted 'in ,the` block diagrams for simplicity. Only the gates, responsive to a control input and a clock pulse, are shown at each'ofthe ilip-flop inputs so as to emphasize the lfact that the clock pulses are applied simultaneously to all the Hip-flop circuit inputs.

Presented below the block diagram of the respectivel ip-ilop circuits are the logical equations which define lwhen and how the flip-flop circuits are to .change at the end of each clockvperiod in accordance with the effective terms ofthe system so as to perform the function desired.

The logical equations for the grid triggering of a flipop circuit consist of stating the terms which have to be simultaneously of a high potential in order that the lflip-liep circuit should trigger into a particular state. T wo operators are used in the equations. Theiirst, logical multiplication, means that all the terms in the' particular product have to be of high potential in `order to maken that product effective in a particular equation. The secnd, logical addition, means that at least one term of ythe sum has to be of high potential in order to make that sum effective in a particular equation.

Thus, for example, the equation means that the A2 flip-flop will change to the false state at the end of the clock period C during which the following three terms are at a high potential: SA, (B'zDl/z-i-BzD'i/z), and A2, Where (BzDl/z'lrBzD'i/z) itself will be of a high potential whenever both terms BZ and D1/2, or both terms B2 and D1/2 are simultaneously of a high potential.

A detailed description of the accumulator will next be presented. During any clock period, the A register 11 is assumed to be storing a binary number and the -associated logical network 12 functions to add the contents of the B register 13 to the contents of the A register 11 in a parallel fashion, i.e., all stages simultaneously. The logical network 12 is designed to have a fast response to the signals indicative of the states of the ipflops of the A register 11 and the flip-flops of the B register 13. By the use of these signals, the logical network 12 generates control potentials for effectively gating clock pulses into the inputs of the A flip-flop circuits. The logical network 12 is comprised of carry networks, as shown in Fig. 7, and trigger networks, as shown in Fig. 8. Stated generally, the carry networks are capable, in response to the information residing in the flip-flop circuits, to determine the interstage carry information before the addition is performed. The trigger networks respond to the information in the flip-hop circuits, and also respond to the carry information generated by the carry networks. In addition, the trigger networks respond to clock pulses. As a result, whenever conditions are such that a trigger network, connected to the input of a particular flip-flop circuit, is effective, a clock pulse is impressed on this input. The input circuitry then operates to differentiate the fall of the clock pulse to `generate a negative pulse which triggers the ipiop circuit to the state called for.

Referring next to Fig. 7, the detail of the carry network for generating the interstage carry information for the accumulator is shown. The present embodiment provides for generating by means of diode networks the carry information from the odd to even stages, and the no carry information from the even to odd stages in accordance with the teachings of a co-pending application of \Veiss et al., Serial No. 364,442, led June 26, 1953. Thus note that output lines D1 ,2, ID3/4, etc., which provide signals corresponding to carry information from the odd stage to the even stage indicated by their subscripts, are each defined by a logical equation which is generated by the diode network shown. Signals corresponding to no carry information for these stages are then obtained on output lines D1/2, D3/4, etc. by inverting the signals on outputs D1/2, Dm, etc. by means of triode tubes Tm, f3/4, etc., respectively.

On the other hand, the no carry signal from the even to odd stages are defined by logical equations and generated on output lines D2/3, 134/5, etc. by diode networks, while signals corresponding to the carry information for these stages are derived on output lines Dz/B, D4/5, etc. by inversion of these no carry signals in tubes T2/3, TM5, etc., respectively.

lt should be appreciated that each logical equation defines under what condition the carry or no carry information for a stage will be generated. Thus, logical equation D3/4=D2/3A3+D2/3B3+A3B3, for example, denes the carry from the third to fourth stage of the accumulator. From this, it should be obvious that whenever any two of the three digits into a stage are l's, the fcarry will be generated. Similarly, equation :v9 which represents the logical equation defining the no carry from the second to third stage of the accumulator, is no more than a statement that, whenever any two of the three input digits into a stage are Os, a no carry will he generated.

As noted in Fig. 7, the portion of the diode network enclosed within block 40 is a typical logical and or product network. In such a circuit, signals having voltage levels of either or +125 are obtained from the source indicated and applied on the cathode-ends of crystal diodes, such as 41 and 42, whose anode-ends are joined to a common line 43 which is connected to a positive source +225 v. through a product resistor 44. Any time all the diode input signals to product circuit 40 are at the high potential of v., the output line 43 swings to this high potential. If any one of the input signals is at the low potential of +100 v., the output line 43 is at this low potential because of the current flow through resistor 44. The output line 43 is connected to one of the inputs of a typical logical or or sum network enclosed within block 46. This logical sum network is comprised of three input diodes 47, 48, and 49 whose cathode-ends are joined and returned to ground through a sum resistor 51. The input signals to the sum network are applied on the anode-ends of the diodes. Whenever any one of the inputs to logical sum network 46 is at the high potential of +125 v., the current ow through sum resistor 51 causes the output line 53 to swing to the high potential +125 v. indicative of a carry" into the fourth stage. This logical sum output 53 is connected to driver tube "f3/4 by way of an integrating circuit S5 which serves to square the waveform impressed onto the grid of driver tube "f3/4. The plate output of tube 'f3/4 is clamped between +100 v. and +125 v. by diodes 56 and 57 so as to maintain the swing of the D3/4 signal between these limits. This D3/4t output signal is then fed directly into the carry diode network provided for the next stage.

l't should be appreciated that this arrangement of the carry diode networks results in a fast propagation of all the interstage carries since the carry information needed for each carry network is obtained directly from the carry driver tube output of the previous stage. This ensures that the carry diode networks for all the stages settle fast enough, in response to their inputs, so that the outputs therefrom can be fed into the trigger input networks causing them, in turn, to settle such that their outputs can rise in time to gate clock pulses to the inputs of the A flip-flop circuits which must be triggered to set up the binary sum.

It should be further understood that because of inherent capacitance in diode networks of this type, the leading edges of the output signals therefrom rise with an appreciable time constant. The driver tubes which interconnect the stage carry networks enable their output signals to be generated in response to less than the swing of the diode network output, thus speeding up the propagation of the carry information which necessarily occurs in succession from the first to last stages of the accumulator.

Referring next to Fig. 8, the trigger circuits for controlling the flip-op circuits of the A register of the accumulator will next be described. As shown in Fig. 5, these trigger circuits are defined by the logical equations shown below each of the A flipop circuits.

Except for the rst stage trigger circuits, which do not respond to any carry information, the triggers for each of the remaining stages respond to early information generated by the carry logical circuitry from the previous stages. For example, the inputs to the diodes in the logical circuitry for generating a2 and a2 include Dl/Z and D1/2. Likewise the inputs to the diodes in the a3 and 0a3 circuitry include D2/3 and D2/3. Thus it is noted that these latter terms 132/3 and D'2/3 are not derived from a hip-flop circuit but rather are generated al.-

mos-t instantaneously duringthe current clock'period, as )av function of the iirst stage carry information, D1/2, whlch latter information was also generated during the current clock period. Thus the need for providing circurtry which will derive the interstage carry information quickly should be clearly understood.

The trigger equations for the A flip-flop circuits define 'the conditions under which the flip-flops must change s tate 1n order to indicate the sum. For example, equatron a2=SA(B2D1/2l-B2D1/2)A2C states that when the add proposition SA is true (see Fig. 12), if the A2 iirp-op is in a false state, and either the B2 flip-op or the carry input D1/2 is true, but not both, then the A2 lp-ilop 1s triggered into a true state at the trailing edge of clock pulse C. 'Ihe remaining triggering equations can be similarly explained. As noted below the ipviopcrrcuits in Fig. 5, logical equations are also provided Vfor inverting the contents of the A register. Thus equations a2=G2A2C and 0a2=G2A2C state that whenever 'output G2 is true (Fig. I13), the A2 ilip-op is triggered 'into its opposite state at the trailing edge of the clock pulse C. Asnoted in the logical networks of Fig. 8, Athe generation of the invert trigger equations are merged 1n with the add trigger equations for the A ip-op circuits.

Reference will be made next to the ip-flop circuits :for the B register, together with the logical equations ydefining its operations. As previously discussed, lthe mechanized pattern by which the present circuit cornputes the square root is reduced to a routine comprised of two steps, i.e., two clock periods. During the rst step of the cycle, the contents of the B register is shifted one digital position to the right; and during the second step, 1f a carry-out from the A register is not generated `by the carry logical network, the sum of the contents of vthe B register and the A register is set up in the A register, and simultaneously, digits are set up in predetermined positions of the B register.

.As noted by the equation below the B register iiipuops, the F1 output of the F counter denes the step jdurmg which the logical equations are effective to cause 4the digits of the B register to be shifted one digital position to the right, that is, toward its least significant ,end. On the other hand, the high potential state of the F'1 output of the F1 flip-flop counter denes the' step during which the logical equations are effective to insert digits into predetermined positions of the B register.

In order .to dene where the digits are to be inserted in the B register, use is made of the outputs of the E Iregister as noted by the introduction of the E register "output terms in the insert logical equations shown belowthe. B ip-flops in Fig. 6. Referring momentarily toFig. 10, which shows the E register ip-ops, the rst flipflop E1 is initially triggered into a true or one state at the go signal G2, while all vthe other E ipops are initially in a false or zero state. During A' each of the cycles of the routine, when the F'1 output j of the F1 ip-op counter is high in potential, the logical .equations of the E register ip-iiops E2, E3, and E4 .are successively made eiective, resulting in a shifting of the one state to the next higher order flip-flop. In this way the outputs E1, E2, E3, and E4 are energized in order to represent the cycle count of a particular computation.

It should be obvious that instead of using a stepping register to indicate the cycle count, a four place counter v circuit could be provided to serve this same function.

The explanation of the logical equations for the B register Hip-flop will be made clear by a description of how the present circuit operates to generate the square vroot of the binary equivalent of 169, as described in Example II of Fig. l. Reference will also be made of the time chart in Fig. 14. First, it is to be noted that initially the A register is assumed to be storing the number whose square root is to be generated, in this case 10 the binary equivalent of 169.v The B register and E rgister are assumed to be initially cleared.

The operator then initiates Ithe circuit by depressing the start button 70, shown in Fig. 13, to set the go flip-flop G1 into a true state. Initially the G1 and G2 iiip-flops, as well as the Rl ip-flop, are in a false state. The abrupt trailing edge of the initiating pulse 71, caused by the discharging of condenser 72 to ground, is difierentiated to create the negative pulse 73 which triggers the G1 flip-Hop into a true state. The coincidence of the next clock pulse C with the high potentials on outputs G1 and F'1 then causes the G2 ilip-op to be triggered into a true state, as indicated by equation G2=rG1F '1C'. This G2 output is routed back into the false inputs of the G2 and Gl Hip-flops, as indicated by equations 0g2= G2G and 0g1=G2C, respectively; and consequently, the G2 flip-flop only remains true for a single clock period, as shown -by the G2 waveform in Fig. 14. As noted in Fig. 13, the R1 ip-op is triggered into a true state as` a result of the G2 flip-flop being true (r1=G2C), and remains true for the duration of the computation, i.e., until triggered false by the circuit described by equation UV1=E'1E'2E'3E'4F1C During the clock period that the G2 output is high in potential, the invert equations of the A flip-hops (Fig. 5) become effective, causing the ones complement of the binary number to be set up inthe A register at the end of the clock period. Simultaneously, the B register (Fig. 6) has its B7 flip-flop triggered true by equation b7=G2C so as to set up the initial odd number 0l therein, and the E register (Fig. l0) has its E1 flip-hop triggered true by equation e1=G2C, causing output E1 to behigh in potential.

The F1 counter ip-op is assumed to be operating continually; and, as a result, the ad proposition SA shown in Fig. 12 is made eifective when F1 is true, since output As was swung to a high potential as a result of the inversion of the A register iiip-ops (Fig. 1). It should be understood vthat the logical sum (Dq/g-i-A'a) appearing in the SA proposition denes a condition which indicates, Iwhen true, that a no carry appears at the output of the last stage as a result of the addition of the contents of the B register into the A register. The state `of the B8 Bip-flop need not -be considered in this SA vin the accumulator circuits; that is, the SA term causes the add equations of the A register, shown in Fig. 5, to be effective such that at the end of clock period 5 the A flip-flops contain the sum.

Simultaneously, during clock period 58, since output E1 is true, the B8 Hip-flop of the B register is set into a true state at the end of clock period 58 in accordance with the equation b8=SAE1C; and the B6 and B7 ip-flops are rendered into true and false states respectively, as indicated by equations b6=F1E1C and 0b7=F'1E1C.

Simultaneously, one other action takes place at the end of clock period 58. Since the F1 output is high, the shift equations of the E register (Fig. 10) become effective, causing the E2 flip-flop to be set true and the E1 nip-flop to be set false.

During the next clock period', designated 59 in the time chart, the F1 output is high, thus causing the shift equations of the B register to become effective. Accordingly, the contents of the B register flip-flops is shifted one digital position to the right at the endof clock period 59.

During clock period 60, the Fl output is again high causing output SA to be true and consequently the contents of the B register is added at the end of clock period 60 into the A register. Further, since E2 is now true, a

i l digit 1 is set up in the B6 fiip-flop at the end of clock period 60 as indicated by equation b6=SAE2C; and the digits and 1 are set up in the B5 and B4 flip-flops, respectively, as indicated by equations 0b5=F1E2C and bilIFlEzC.

During the clock period 61, the F1 output is high and the contents of the B register is again shifted one digital position to the right.

During clock period 62, since the E3 output is now high, the state into which the B4 fiip-fiop is triggered at the end of this clock period is governed by equation However, as previously noted in Fig. l, the SA proposition is false for this cycle since a carry is generated at the output of the A register. Thus the B4 ip-fiop is left in a false state. The B2 and B3 fiip-fiops have a 1 and 0, respectively, set up therein at the end of clock period, however, by the action of equations b2=F'1E3C and obgIFlL-gC.

During clock period 63, the F1 output being high, the contents of the B register is again shifted one digital position to the right.

Finally, during clock period 64, the SA proposition is again made true causing the B register contents to be added to the A register, and a digit l is accordingly set up in the B2 flip-fiop at the end of this clock period by equation b2=SAE4C. This corresponds to adding the digit l to the contents of the keyboard as described in connection with Example I of Fig. 1. During the next clock period 65, while F1 is high, the contents of the B register is shifted to the right one digital position. It should be noted that this shifting corresponds to the dividing of the number on the keyboard by 2, as described in Example I of Fig. l.

At the end of clock period 65, the Rl fiipdiop is triggered into a false state as a result of the product E1E2E3E4F1, which feeds into the false input of the Rl flip-liep, being at a high potential. The answer, representing the square root, is now found in the first four fiip-fiops B1 to B4, inclusive, of the B register. It should be understood that, since the Rl fiip-fiop is now in a false state, the shift equations for the first four fiip-iiops of the B register are inhibited from operating.

While the circuits as shown and described herein are admirably adapted to fulfill the objects and features of advantage previously enumerated as desirable, it is to be understood that the invention is not to be limited to the specific features shown but that the means and construction herein disclosed are susceptible of modification in form, proportion, and arrangement of parts without departing from the principle involved or sacrificing any of its advantages, and the invention is therefore claimed in embodiments of various forms all coming within the scope of the claims which follow.

What is claimed is:

1. A computer circuit for generation of the square root of a binary number, comprising: a first register for storing the complement of said number and sums including said complement; a second register for entry of binary numbers to be added to respective binary numbers registered in said first register; means for entering predetermined binary numbers in said second register; means for determining whether or not a carry would be gen- -erated for the highest denominational order of the number in said first register if the number currently in said second register were added thereto, and for generating a carry signal or a no-carry signal in accordance with said determination, said means being capable of effecting such addition; means responsive to a generated carry signal to inhibit said second named means for effecting an addi- .tion which would result in generation of a carry signal; and means effective following each entry of a binary number in said second register, to shift the entered number one binary place toward the least significant position of said second register.

2. An electronic calculating circuit for extracting the square root of a binary number comprising a first binary register having a plurality of fiip-op circuit stages initially set up to contain the complement of said number; a second binary register having a plurality of Hip-flop circuit stages initially set up to contain the digit 1 in its second most significant binary place; a carry network responsive to the flip-fiop circuits of said rst and second registers to propagate and set up carry signals from the first to last binary places of said first register; means responsive to said carry signals for adding the contents of said second register to said first register if no carry-out is generated by said carry network; means for successively inserting the root digits 0 or l in alternate binary stages of said second register in accordance with whether a carryout or no carry-out is generated by said carry network; means for inserting the digits 0 and l, respectively, in the two lower order binary stages following said root digits in said second register; and means for shifting the contents of the second register one binary place toward its least significant end following each insertion.

3. A cyclically operated electronic calculating circuit for extracting the square root of a binary number, comprising: a timing source; a binary counter responsive to said timing source for defining signals representing even and odd timing periods; a first binary register initially set up at the end of the first even timing period to contain the complement of said number; a second binary register initially set up at the end of the first even timing period to contain the digit 1 in its second most significant binary place; means for shifting the contents of said second register one binary place at the end of the remaining even timing periods; a carry network responsive to the contents of said first and second registers during the odd timing periods for propagating carry signals from the least to the most significant binary places of said register and to provide a carry-out signal in response to a produced `carry signal at the most significant binary place in said first register; means responsive to said registers and said carry network for adding the contents of said second register to those of said first register incident to contemporaneous ending of an odd timing period and absence of a carry-out signal; means for inserting root digits 0 or 1 in successive alternate binary places of said second register at the ends of the odd timing periods in accordance with whether a carry-out digit signal is generated by said carry network; and means for further inserting the digits 0 and 1 in the following two lower order binary places of said second register at the end of the odd timing periods irrespective of Whether a carry-out digit signal is generated by said carry network.

4. A circuit for extracting the square root of a binary number comprising a first register having a plurality of flip-flop circuits for storing the complement of said number; a second register having a plurality of iiip-op circuits; means capable of entering and adding an odd valued number in said second register to the number contents of said first register; said means including means for entering said odd valued number in said second register by inserting a digit 1 in successive alternate lower order stages of said second register each time an addition 'is performed and simultaneously inserting the digits 0 and 1 in the following two lower order stages of said second register irrespective of whether said addition is performed; inhibiting means responsive to said first and second registers and effective to generate a carry-out signal in response to incipient overflow of said first register and to inhibit completion of a current addition in response to ,generation of such carry-out signal; means for shifting the odd vaiued number set up in said second register one binary position toward its least significant end prior to the next addition; and means for repeating said additions and shifts a number of times determined by the pairs of binary places in said registers, whereby the binary square root is set up in said second register.

5. An electronic calculating circuit for extracting the square root of a binary number comprising: a rst binary register having a plurality of ip-op circuit stages for storing the complement of said number; a second binary register having a plurality of iiip-op stages; a carry network responsive to the ilip-op circuits of said iirst and second registers to propagate carry signals from the first to last binary places of said rst register; a rst diode network responsive to said carry signals and operable to trigger the flip-flop circuits of the first register so as to add thereto the binary number in the second register only if no carry signal is generated from the last stage of said carry network; a second diode network operable to trigger the ip-op circuits of the second register, said second diode network operable to trigger successive alternate flip-op circuits of the rst register to a one state if no output carry signal is generated from the last stage of said carry network, and operable to trigger the following two flip-flop circuits of the rst register to a zero and one state, respectively, irrespective of whether said output carry signal is generated; and a third diode network responsive to the nip-flop circuits of the second register for shifting the number setup therein by said second diode network one binary place toward its least signiiicant stage.

6. A circuit for extracting the square root of a binary number, including: a first register having a plurality of ip-flop circuits for initially storing the complement of said binary number and for storage of binary sum numbers; a second register having a plurality of Hip-flop circuits for containing a binary number to be added to a number in said iirst register; means for setting up binary numbers in said second register by triggering its flip-flop circuits at predetermined times; means capable of adding the contents of said second register with those of said rst register; means for determining before an addition is made whether a carry-out will result at the most significant digit position of said tirst register, and for generating a carry-out signal if a carry would result from the addition, and for causing such addition, only if said determining means does not generate a carry-out signal; and means for regulating the setting up of binary numbers in said second register by controlling the setting thereof in accordance with whether said addition is carried out.

7. An electronic circuit for extracting the square root of a binary number, comprising: a rst register for storing the complement of said number and successive sum numbers produced 'by additions of other numbers to said complement; a second register; means for entering successive odd numbers into said second register, said means including networks capable of response to the contents of said first and second registers for determining presence or absence of an incipient overflow carry incident to an impending addition of the contents of the two registers and producing a characteristic signal indicative of incipient carry-out, and for normally successively adding a number set up in said second register to the contents of said irst register unless inhibited by production of a signal indicative of incipient carry-out, and said means including means responsive to such signal to inhibit such addition; means for successively altering the number set up in said second register by inserting a digit l in successive alternate lower order stages of said second register each time an addition is performed and inserting the digits and 1 in the following two lower order stages of said second register irrespective of whether said addition is performed; and means for shifting the number set up in said second register one binary position toward its least signicant end prior to said adding means being again rendered operable.

8. An electronic cyclical calculating circuit comprising: a rst register for containing the complement of a binary number whose square root is to be extracted and sums formed by adding other binary numbers to said complement; a second register; a third register operable as a cycle counter; a first circuit means selectively operable in accordance with the contents of said third register to enter binary members in said second register; a second circuit means responsive to the number contents of said first and second registers to generate carry signals for each denominational order of said numbers incident to and following each entry of a binary number in said second register, said carry signals including a carry-out signal for the highest denominational order of digits in said complement when an incipient addition would produce a carry thereat; a third circuit means operable in response to a generated carry-out signal to inhibit addition of the binary number entered in said second register to the binary number currently contained in said first register and responsive to absence of a carry-out signal to add the binary number contents of said first and second registers; means included in said first circuit means responsive to a carry-out signal generated by said second circuit means for controlling the operation of a portion of said first circuit means; and means for shifting the contents in said second and third registers prior to said third circuit means being again rendered operable.

9. An electronic circuit for extracting the square root of a binary number, comprising: a rst register having a plurality of flip-dop circuit stages for storing the complement of said number and sums formed by additions of other numbers to said complement; a second register having a plurality of flip-flop circuit stages rfor storing odd valued numbers; parallel adding means capable of operating in response to the ilip-iiop circuit stages of both said registers to add the number in said second register to the number stored in said iirst register; means responsive to said first and second registers to detect an incipient carry-over from the highest digital order in said registers incident to a projected addition of the number currently in said second register to 4that currently in said first register, and for producing a carry-out signal indicative of an incipient carry-over, and a no-carry signal indicative of absence of an incipient carry-over; means for effectively adding a binary 1 to the lowest order digit of the number in said second register only in response to a said no-carry signal and effectively subtracting a binary 1 therefrom in response to generation of a said carry-out signal; means for setting up a binary 1 in the flip-Hop circuit corresponding to the stage of said second register following the stage containing the lowest order digit of the number; and means for shifting the number so set up in said second register one binary position toward its least significant end prior to said parallel adding means being again rendered operable.

References Cited in the le of this patent UNITED STATES PATENTS 2,318,591 Coutiignal May 11, 1943 2,751,149 Young et al. Juno 19, 1956 FOREIGN PATENTS 410,129 Great Britain May 9, 1934 997,473 France Sept. 12, 1951 827,125 Germany Jan. 24, 1952 OTHER REFERENCES First Draft of a Report on the BDVAC, by I ohn Von Neumann, Moore School of Electrical Engineering, University of Pennsylvania, June 30, 1945, pages 35-38, 43-45.

A Functional Description of the EDVAC, vol. II, Moore School of Electrical Engineering, University of Pennsyl- Vania, Nov. 1, 1949, pages A4-1 to A415.

UNITED STATES PATENT OFFICE Certificate of Correction Patent N o. 2,888,200 May 26, 1959 Eric Weiss It is hereby certified that error appears in the above numbered patent requiring correction and that the said Letters Patent should read as corrected below.

In the grant, lines 2 and 3, and line 12, and in the heading to the printed specification, line 4, name of assignee, for National Cash Register Company read -The National Cash Register Company-; column 4, line 75, after Whenever strike out the comma; column 7, line 11, for Where (BzDiJ read -Where (B2D1/2-; line 60, for signal read -signals-; column 10, line 13, for G2=G1F10 read -g2=G1F10-; line 23, for 011=E1E2E"3E4F10 read -01'1=E1E'2E3E4 10-; column 12, line 60, for registerg read -register,; column 13, line 42, after addition, second occurrence, strike out the comma; column 14, line 6, for members read -numbers-.

Signed and sealed this 17th day of November 1959.

[SEAL] Attest:

KARL H. AXLINE, Attestzng Of/eer.

' ROBERT c. WATSON, 'ommssz'oner of Patents. 

